package com.gurun.model.service;

import com.gurun.model.bean.BaseRequestBean;
import com.gurun.model.bean.home.GetHomeDeviceListRequestBean;
import com.gurun.model.bean.home.GetHomeDeviceListResultBean;
import com.gurun.model.bean.home.GetHomeListResultBean;
import com.gurun.model.bean.home.GetRoomDeviceListRequestBean;
import com.gurun.model.bean.home.GetRoomDeviceListResultBean;
import com.gurun.model.bean.home.GetRoomListRequestBean;
import com.gurun.model.bean.home.GetRoomListResultBean;
import com.gurun.model.bean.home.GetTaskListRequestBean;
import com.gurun.model.bean.home.GetTaskListResultBean;
import com.gurun.model.bean.home.GetWeatherByIpRequestBean;
import com.gurun.model.bean.home.GetWeatherByIpResultBean;
import com.gurun.model.bean.user.LoginRequestBean;
import com.gurun.model.bean.user.LoginResultBean;

import io.reactivex.Single;
import retrofit2.http.Body;
import retrofit2.http.POST;

public interface HomeService {

    /**
     * 获取家庭列表
     * @param requestBean
     * @return
     */
    @POST("smartHome/getSmartHomeList")
    Single<GetHomeListResultBean> getHomeList(@Body BaseRequestBean requestBean);

    /**
     * 获取家庭智能设备列表
     * @param requestBean
     * @return
     */
    @POST("smartHome/getHomeDeviceList")
    Single<GetHomeDeviceListResultBean> getHomeDeviceList(@Body GetHomeDeviceListRequestBean requestBean);

    /**
     * 获取房间智能设备列表
     * @param requestBean
     * @return
     */
    @POST("smartHome/getRoomDeviceList")
    Single<GetRoomDeviceListResultBean> getRoomDeviceList(@Body GetRoomDeviceListRequestBean requestBean);

    /**
     * 根据ip地址获取天气
     * @param requestBean
     * @return
     */
    @POST("commonResource/queryWeatherByIp")
    Single<GetWeatherByIpResultBean> getWeatherByIp(@Body GetWeatherByIpRequestBean requestBean);

    /**
     * 根据家庭房间列表
     * @param requestBean
     * @return
     */
    @POST("smartHome/getSmartRoomList")
    Single<GetRoomListResultBean> getRoomList(@Body GetRoomListRequestBean requestBean);

    /**
     * 获取智能列表
     * @param requestBean
     * @return
     */
    @POST("smartTask/getSmartTaskList")
    Single<GetTaskListResultBean> getSmartTaskList(@Body GetTaskListRequestBean requestBean);
}
